This invention relates to programmable logic array devices, and more particularly to techniques for programming such devices.
Illustrative programmable logic array devices requiring programming are shown in Cliff U.S. Pat. No. 5,237,219 and Cliff et al. U.S. Pat. No. 5,434,514. Typically, such devices are xe2x80x9cprogrammedxe2x80x9d in order to set them up to thereafter perform desired logic functions. In other words, the programming determines what logic functions the device will perform. The present invention is particularly of interest in connection with programming programmable logic array devices whose programming memory elements are volatile and reprogrammable. For example, such devices typically require reprogramming each time their power supplies are turned on (from having been off). Such devices may also require reprogramming whenever it is desired to change the logic functions they perform, which may occur during certain normal uses of the devices. Because such programming (or reprogramming) may have to be performed relatively frequently, and because the logic devices are generally not usable during programming, it is important to have rapid and efficient programming techniques.
Programmable logic array devices are often designed to be xe2x80x9cgeneral purposexe2x80x9d devices. In other words, the programmable logic device is made without any particular end use in mind. It is intended that the customer will use the number of such devices that is appropriate to the customer""s application, and that the customer will program those devices in the manner required to enable them to perform the logic required in the customer""s application. Because the size and complexity of various customer applications may vary considerably, it would be desirable to have programming techniques that are modular and lend themselves to programming different numbers of devices with programs of different sizes.
In view of the foregoing, it is an object of this invention to provide improved techniques for programming programmable logic array devices.
It is another object of this invention to provide more rapid techniques for programming programmable logic array devices.
It is still another object of this invention to provide programmable logic array device programming techniques which lend themselves to programming any number of such devices with programs of any size or complexity.
These and other objects of the invention are accomplished in accordance with the principles of the invention by providing programmable logic array devices which can be programmed one after another in any number from programming devices such as serial erasable programmable read only memories (xe2x80x9cserial EPROMsxe2x80x9d). Any number of such programming devices can be connected to operate serially. Thus any number of logic devices can be programmed from any number of programming devices, making the programming technique highly modular and capable of performing programming tasks of any size and complexity. The logic devices may be equipped with programming register configurations that allow the logic device to receive several programming data streams in parallel, thereby speeding up the transfer of programming data from the programming device(s) to the logic device(s). A programming device may be equipped with a clock signal generating circuit whose operating speed is programmably variable, thereby enabling the programming device(s) to be used to program logic device(s) having different clock rate requirements. Various communications protocols may be used between the programming devices and the logic devices.
Further features of the invention, its nature and various advantages will be more apparent from the accompanying drawings and the following detailed description of the preferred embodiments.